JavaFX তে Layout Managers ব্যবহৃত হয় UI উপাদানগুলির (যেমন, বাটন, লেবেল, টেক্সটফিল্ড, ইত্যাদি) সঠিক অবস্থান এবং আকার নির্ধারণ করতে। JavaFX তে বিভিন্ন ধরনের লেআউট প্যানেল আছে, যেগুলি আপনাকে আপনার অ্যাপ্লিকেশনের ইউজার ইন্টারফেস ডিজাইন করতে সাহায্য করে।
নিচে কিছু জনপ্রিয় Layout Managers যেমন HBox
, VBox
, StackPane
, BorderPane
, এবং GridPane
এর উদাহরণ দেয়া হলো:
HBox
হল একটি লেআউট প্যানেল যা উপাদানগুলোকে অনুভূমিকভাবে সাজায়।
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class HBoxExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
// HBox তৈরি
HBox hbox = new HBox(10); // 10px ব্যবধান
hbox.getChildren().addAll(btn1, btn2, btn3);
hbox.setAlignment(Pos.CENTER); // সব বোতাম সেন্টারে বসবে
Scene scene = new Scene(hbox, 300, 200);
primaryStage.setTitle("HBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
VBox
হল একটি লেআউট প্যানেল যা উপাদানগুলোকে উল্লম্বভাবে সাজায়।
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class VBoxExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
// VBox তৈরি
VBox vbox = new VBox(10); // 10px ব্যবধান
vbox.getChildren().addAll(btn1, btn2, btn3);
vbox.setAlignment(Pos.CENTER); // সব বোতাম সেন্টারে বসবে
Scene scene = new Scene(vbox, 300, 200);
primaryStage.setTitle("VBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
StackPane
হল একটি লেআউট প্যানেল যেখানে উপাদানগুলো একে অপরের উপরে স্তরের মতো সাজানো হয়।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class StackPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
// StackPane তৈরি
StackPane stackPane = new StackPane();
stackPane.getChildren().addAll(btn1, btn2); // btn2 btn1 এর উপর আসবে
Scene scene = new Scene(stackPane, 300, 200);
primaryStage.setTitle("StackPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
Button 2
হবে Button 1
এর উপরে, কারণ StackPane উপাদানগুলো একে অপরের উপর স্তরের মতো সাজায়।BorderPane
হল একটি লেআউট প্যানেল যা UI উপাদানগুলিকে পাঁচটি বিভাগে বিভক্ত করে: Top, Bottom, Left, Right, এবং Center।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class BorderPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btnTop = new Button("Top");
Button btnBottom = new Button("Bottom");
Button btnLeft = new Button("Left");
Button btnRight = new Button("Right");
Button btnCenter = new Button("Center");
// BorderPane তৈরি
BorderPane borderPane = new BorderPane();
borderPane.setTop(btnTop);
borderPane.setBottom(btnBottom);
borderPane.setLeft(btnLeft);
borderPane.setRight(btnRight);
borderPane.setCenter(btnCenter);
Scene scene = new Scene(borderPane, 400, 300);
primaryStage.setTitle("BorderPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
Button Top
উপরের অংশে, Button Bottom
নীচের অংশে, Button Left
বামদিকে, Button Right
ডানদিকে এবং Button Center
কেন্দ্রে থাকবে।GridPane
হল একটি লেআউট প্যানেল যা উপাদানগুলোকে একটি গ্রিডে সাজায় (যেমন টেবিলের সারি ও কলাম)।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class GridPaneExample extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button("Button 1");
Button btn2 = new Button("Button 2");
Button btn3 = new Button("Button 3");
Button btn4 = new Button("Button 4");
// GridPane তৈরি
GridPane gridPane = new GridPane();
gridPane.setHgap(10); // কলামের মধ্যে 10px ব্যবধান
gridPane.setVgap(10); // সারির মধ্যে 10px ব্যবধান
gridPane.add(btn1, 0, 0); // (Column 0, Row 0)
gridPane.add(btn2, 1, 0); // (Column 1, Row 0)
gridPane.add(btn3, 0, 1); // (Column 0, Row 1)
gridPane.add(btn4, 1, 1); // (Column 1, Row 1)
Scene scene = new Scene(gridPane, 300, 200);
primaryStage.setTitle("GridPane Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Output:
এই লেআউট ম্যানেজারগুলো ব্যবহার করে আপনি JavaFX এর মধ্যে সঠিকভাবে উপাদানগুলি সজ্জিত করতে পারবেন এবং আধুনিক, আকর্ষণীয় GUI তৈরি করতে সক্ষম হবেন।
Read more